module.exports = {
  root: true, // 标记为根配置，Stylelint 将停止在父目录中查找其他配置
  extends: [
    'stylelint-config-standard', //配置stylelint拓展插件
    'stylelint-config-html/vue', //配置vue中的template样式格式化
    'stylelint-config-standard-scss', //配置stylelint scss插件
    'stylelint-config-standard-vue/scss', //配置vue中的scss样式格式化
    'stylelint-config-recess-order', //配置stylelint css书写顺序插件
    'stylelint-config-prettier' //配置stylelint和prettier兼容
  ],
  overrides: [
    {
      files: ['**/*.(scss|css|vue|html)'],
      customSyntax: 'postcss-scss'
    },
    {
      files: ['**/*.(html|vue)'],
      customSyntax: 'postcss-html'
    }
  ],
  ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts', '**/*.json', '**/*.md', '**/*.yaml'],
  /*null->关闭该规则，always->必须*/
  rules: {
    'value-keyword-case': null, //在css中使用v-bind不报错
    'no-descending-specificity': null, //禁止在具有较高优先级的选择器后出现被其覆盖的较低优先级的选择器
    'fuction-url-quotes': 'always', //要求禁止URL的引号
    'no-empty-source': null, //关闭禁止空源码
    'selector-class-pattern': null, //关闭强制选择器类名的格式
    'property-no-unknown': null, //禁止未知的属性
    'block-opening-brace-space-before': 'always', //大括号之前必须有一个空格或不能有空白符
    'value-no-vendor-prefix': null, //关闭属性值前缀 --webkit-box
    'property-no-vendor-prefix': null, //关闭属性前缀 --webkit-mask
    //不允许未知的选择器
    'selector-pseudo-class-no-unknown': [
      true,
      {
        ignorePseudoClasses: ['global', 'v-deep', 'deep'] //忽略属性，修改element默认样式的时候能使用到
      }
    ],
    // 禁止未知的@规则，但忽略 Sass/Less 特有的规则
    'at-rule-no-unknown': [
      true,
      {
        ignoreAtRules: ['function', 'if', 'each', 'include', 'mixin', 'extend']
      }
    ],
    // 禁止未知单位，但忽略小程序特有的 rpx 单位
    'unit-no-unknown': [
      true,
      {
        ignoreUnits: ['rpx']
      }
    ]
  }
}
